<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../vuejs/vue.js"></script>
</head>
<body>
    <div id="root">
        姓：<input type="text" v-model="firstName"> <br>
        名: <input type="text" v-model="lastName"> <br>
        全名：<span>{{fullName}}</span> <br>
        <!-- computed有缓存 而methods没有缓存 -->
        全名：<span>{{fullName}}</span> <br>
        全名：<span>{{fullName}}</span> <br>
    </div>
    <script>
        const vm=new Vue({
            el:'#root',
            data:{
                firstName:'张',
                lastName:'三'
            },
            computed:{
                fullName:{
                    //get 有什么作用？ 当有人读取fullName时，get就会被调用，且返回值就作为fullName的值
                    // get什么时候会被调用？
                    // 1. 初次读取fullName时
                    // 2. 所依赖的数据发生改变时
                    get(){
                        console.log('get 被调用了');
                        return this.firstName+'-'+this.lastName;
                    },
                    // set什么时候调用？
                    // 当fullName被修改时
                    set(value){  
                        const arr=value.split('-')
                        this.firstName=arr[0];
                        this.lastName=arr[1];
                    }
                }
            }
            
        })
    </script>
</body>
</html>